Repository navigation
refactor: collapse paired picker-open booleans and tidy boot-size cleanup - #4493
Merged
Merged
Conversation
…anup Three paydowns on last week's merges. The event form tracked its start/end date pickers as two independent booleans, so both could be open at once and every open handler had to remember to close its sibling. EventForm threaded four props through DateTimeSection into DatePickers to do it, and TimePickers hand-rolled the same pair again with its own open helpers. One `useOpenDatePickerSide` hook holds the open side instead, and `close(side)` ignores a close from the side that is not open, which is what the sibling-closing dance was protecting against. NotificationPermissionBanner re-declared the banner kind union instead of importing NotificationBlockedBannerKind from the util that picks it. pr-boot-size-delta exited inside its try block on a budget failure, which skipped the finally that removes the base worktree and the temp metrics file, and the same finally removed a worktree that `git worktree add` may never have created, throwing over the real error. The sticky comment now posts and patches through one `gh api` call instead of writing a temp file for the create path. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015fhM8mEj3LaYCn8My4M9u3
Contributor
|
Boot bundle: 508.0 KB gzip (+0.0 KB vs main) |
tyler-dane
marked this pull request as ready for review
October 16, 2026 10:30
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What and why
Technical-debt sweep of the last seven days of merges, picking up what the
earlier sweeps (#4447, #4456, #4457, #4474, #4476, #4477, #4490) left. Three
items, all behavior-preserving.
Paired picker-open booleans (from #4454 / #4456). The event form tracked
its start and end date pickers as two independent booleans, so both could be
open at once and every open handler had to remember to close its sibling.
EventFormowned the pair and threaded four props throughDateTimeSectioninto
DatePickers;TimePickersthen hand-rolled the same pair locally withits own
openStartDate/openEndDatehelpers and a(changed === "start" ? setA : setB)(false)idiom.useOpenDatePickerSideholds the open side (
"start" | "end" | null) instead: one prop replacesfour, and
close(side)ignores a close from the side that is not open, whichis what the sibling-closing dance was protecting against (react-datepicker
reports the outgoing picker's close after the incoming one has opened). New
unit tests pin that rule and
closeAll.Duplicated banner kind (from #4479).
NotificationPermissionBannerre-declared
"permission" | "show_blocked"instead of importingNotificationBlockedBannerKindfrom the util that picks it.Boot-size delta cleanup (from #4466).
process.exit(1)inside the tryblock skipped the
finallythat removes the base worktree and the tempmetrics file, so every over-budget PR leaked both. The same
finallyrangit worktree removeon a directory thatgit worktree addmay never havecreated, throwing over the real error; it now cleans up the bare mkdtemp
directory in that case. The sticky comment posts and patches through one
gh apicall rather than writing a temp file for the create path only.Left alone on purpose: the web view-model's series-master reminder fallback
duplicating sync's (old occurrence rows still need it, as #4490 noted); the
hasDismissed/dismisslocalStorage pairs repeated across banner utils(a shared bool-flag helper would touch six unrelated files); the two time
menu booleans in
TimePickers, sinceTimePickertakes a boolean setter andmutual exclusion there is not today's behavior;
civil-daygrid helpers andthe OAuth callback/analytics split, both already tidy after #4474.
Not reviewed: the macOS Swift batch (#4481 - #4488), the largest churn in the
window. No Swift toolchain in this sandbox, so any change there would be
unverifiable before CI.
Verify
bun run verify --strictVERDICT: FAIL
Checks run:
type-check,lint,knip,test:a11y(65/65),test:e2e(247/247),
test:web. Nothing skipped.The only failure is
test:web, and it is this sandbox, not the diff: shard3/6 trips the runner's 5000 MB RSS cap (5500 MB) at
components/SelectView/SelectView.test.tsx, a file three directories awayfrom anything here. Stashing the diff and rerunning on the unmodified base
trips the same cap in the same shard at the same file (5355 MB), and the same
cap hits a
views/**subset on the base tree too. CI's ownunit-leg (web, 1)and
unit-leg (web, 2)are both green on this head, which is the authority onthe web suite.
Positive evidence for the files this PR touches, run as subsets under the
repo's web profile:
DateControlsSection/DateTimeSection/**: 43 pass, 0 failviews/Forms/**: 311 pass (307 on base, +4 from the new hook test), withthe same 2 pre-existing
EventForm provider-managed staging UXsubsetfailures on base and on this branch
useOpenDatePickerSide.test.ts: 4 passe2e/event-form,e2e/allday,e2e/accessibility/datepicker-a11y: 6 passThe boot-size workflow exercised the rewritten comment path on this PR and
posted its sticky comment (+0.0 KB vs main).
🤖 Generated with Claude Code
https://claude.ai/code/session_015fhM8mEj3LaYCn8My4M9u3